iT邦幫忙

2022 iThome 鐵人賽

DAY 10
1
AI & Data

菜鳥工程師第一個電腦視覺(CV)專案-農作物影像辨識競賽系列 第 10

D10-卷積神經網路CNN_理論學習1st

  • 分享至 

  • xImage
  •  

Part1:今日目標

(一)了解卷積神經網路(Convolutional Neural Network, CNN)

1.卷積的功能

2.卷積相關簡介


Part2:內容

1.卷積的功能

  • 維持平移不變性(translation invariance): 透過解析區域空間資訊來達到平移不變性,平移不變性定義為不論物體在圖片的哪個位置,其對於輸出的結果影響都相同。
  • 鄰近像素區域化處理(locality):
    • 以影像辨識為例,鄰近位置像素間的關聯性較高,相距較遠的像素關聯性則相對較低。透過卷積取得特定區域特徵,並搭配目標像素與其鄰近像素的加權總合,透過線性的加權總合,能偵測到各種不同的特徵。
    • 卷積核的權重一開始為隨機,透過反向傳播更新,以取得最適權重數值。
  • 模型參數數量顯著減少: 不同於全連接層參數數量取決於圖片像素總和,卷積層參數數量取決於: (1)卷積核大小 (2)模型所使用的卷積核總數。

2.卷積相關簡介

以下名詞為了解CNN時所學習到的,相關實作都可透過Pytorch的torch.nn模組完成,列點說明:

(1)卷積(Convolution): 圖片特徵萃取

  • 根據維基百科定義:「卷積神經網路」表示在網路採用稱為卷積的數學運算。卷積是一種特殊的線性操作。透過卷積核(kernel)權重和圖片做計算,能萃取出圖片特徵,不同卷積核能偵測到不同的特徵。
  • 運算方式如下圖: 重疊位置其數值相乘,再將所有乘積數值加總

(2)填補邊界(Padding): 讓經過卷積的輸出圖片與原始輸入圖片大小一致

  • Pytorch在移動卷積核掃過整張圖片時,不會超出圖片的範圍,因此其輸出會小於原始圖片的大小。但Pytorch也提供方法對圖片邊緣補值(Padding),使用數值為零的幽靈像素(ghost pixels),就能使輸出圖片的維度與原始圖片相同。
  • 以4x4原始圖片為例,若沒有經過Padding則輸出圖片大小為2x2 (上圖);若經由padding=1 & kernel=3,則圖片外圍會Padding上一圈數值為0的幽靈像素,其輸出圖片則與原始圖片相同,都為4x4 (下圖)

    圖片來源

(3)步長(Stride): 控制卷積核如何掃過圖片

  • 控制卷積核如何掃過整張圖片,以nn.Conv2d(3, 16, kernel_size=3)為例,代表設定3x3的卷積核,每次移動會往圖片的長和寬各移動一個像素。

(4)池化(Pooling): 捕捉圖片「整體」的資訊

  • 選用卷積能取得圖片區域性資訊和平移不變性,但缺乏圖片整體訊息。
  • 把多層卷積層堆疊一起,並在兩個連續的卷積處理間對圖片進行降採樣(downsampling),可視為把多個卷積核所得特徵做堆疊,取得圖片整體特徵。
  • 降採用有多種方法:
    • 平均池化(average pooling)
    • 最大池化(max pooling): 最常被使用

      圖片來源
    • 特定步長的卷積處理
  • 結合卷積與最大池化的操作: 以下圖為例,用兩個小型的十字狀卷積搭配最佳池化來處理原始圖片中的大型十字狀物體。

    圖片來源
    • 第一層卷積作用的圖片區域範圍最小: 偵測最初級低階的圖片特徵。
    • 第二組開始則作用在原始圖片更寬廣的區域,其所產生的特徵為前一層輸出特徵的組合,透過以上操作,CNN將能處理複雜的圖片資訊。

參考:

Part3:專案進度

  • 學習卷積神經網路CNN的理論。

Part4:下一步

  • 後續將對Pytorch操作做更詳盡介紹,透過範例了解以搭建base CNN model。
心得小語:
今天先起個早出門學琴去,接著出門逛街一天,百貨公司人山人海,下午到家筋疲力盡又昏睡兩小時(太chill的週末了XD 晚餐後趕緊開工,把之前從書籍讀和網路上查到的理論知識做統整,用中文真滴難寫~~ 今天放鬆充電夠啦,期待明天統整完後,後續就可以開寫Code啦!!
今日工時: 50mins*3

/images/emoticon/emoticon08.gif

一個人越懶,明天要做的事情就會越多
The lazier a man is, the more things he will have to do tomorrow.


上一篇
D9-資料集前處理4th:資料集切分&DataLoader
下一篇
D11-卷積神經網路CNN_理論學習2nd: 進階技巧
系列文
菜鳥工程師第一個電腦視覺(CV)專案-農作物影像辨識競賽32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言